package io.cici.cc.mybatis.lite.sql_source.scripting;

import io.cici.cc.mybatis.lite.executor.parameter.ParameterHandler;
import io.cici.cc.mybatis.lite.mapping.MappedStatement;
import io.cici.cc.mybatis.lite.mapping.Sql;
import io.cici.cc.mybatis.lite.mapping.SqlSource;
import io.cici.cc.mybatis.lite.parse.Node;
import io.cici.cc.mybatis.lite.session.Configuration;

public interface LanguageDriver {


    ParameterHandler createParameterHandler(MappedStatement mappedStatement, Object parameterObject, Sql sql);


    SqlSource createSqlSource(Configuration configuration, Node node, Class<?> parameterType);


    SqlSource createSqlSource(Configuration configuration, String script, Class<?> parameterType);

}
